객체지향의 사실과 오해

2024년 10월 17일 17:00:00


목차

  • No items found

개발서적은 항상 읽자 읽자 하고 미루던 적이 많았는데 이번에 읽은 책도 마찬가지로 처음은 패기롭게 전자책으로 구매하여 읽기 시작했는데

아직 나는 옛날사람인지 책내용이 좋음에도 불구하고 전자책은 이상하게 잘 읽히지가 않았다 ㅠ.ㅠ

다음 개발서적들은 종이책을 사야겠다.

이번에 읽은 책을 간단히 소개하자면 아래와 같은 책이다.

Alt text

제목: 객체지향의 사실과 오해

저자: 조용호 지음

출판사: 위키북스

나는 교보문고 사이트에서 전자책을 이용하여 구매하였다.

처음에 읽게 된 계기는 개발자들 사이에서 이미 유명하신분이었고 오브젝트라는 책을 읽기전에 읽어보면 좋다고 하여 구매하게 되었다.

이론과 비슷한 개발서적 자체를 구매해서 읽어본적이 없어서 흥미로웠다.

평소 객체지향이라는 단어 및 의미를 정확하게 알고 있지 않다고 생각하였기에 더 흥미가 생긴것 같다.

일단 목차로 크게는 7개로 나눠져있다.

1장 협력하는 객체들의 공동체

2장 이상한나라의 객체

3장 타입과 추상화

4장 역할, 책임, 협력

5장 책임과 메시지

6장 객체 지도

7장 함께 모으기

각각의 목차마다 자세한 내용을 작성하기에는 이미 기억이 사라져가는 상태라... 전체적인 책의 내용을 정리하고자한다.

처음 시작은 실생활의 커피집을 개발에 빗대어 시작하며 각각의 객체나 클래스 메시지 같은 기능들을 이상한나라의 앨리스라는 어릴때 읽어본 동화책 내용에 빗대어 설명해주신다.

개인적으로 개발을하면서 이미 어느정도 객체지향적으로 개발을 하고 있었던 것 같지만 정확한 의미는 모른체 개발을 해왔던 것 같다.

내가 느끼기에 책에서 중요시하는 내용으로 역할 책임을 중요하게 이야기 하신다.

객체지향에 있어 대부분의 사람들이 캡슐화를 강조하는데 캡슐화는 각 객체의 자율성을 의미한다고 생각한다.

하지만 실생활에서는 객체의 자율성을 갖고있지 않으며 예를들어 커피머신이 자율적으로 커피를 내릴 수 없는것? 하지만 코드세계에서는 커피머신 객체는 커피를 내릴 수 있는 메서드가 있다.

고로 객체지향의 목표는 실세계를 모방하는것이 아니라 고객을 만족시킬 수 있는 새로운 세계를 창조하는 것이라고 말하신 것 같다.

이를 가능하게 하기위해 각 객체들의 협력, 역할, 책임, 상태가 필요하다고 나는 느껴졌고 이내용들이 확장되어 DDD로 이어지는게 아닌가? 하는 생각이 들었다.

앞으로 개발을 하면서 조금 더 객체지향적으로 개발할 수 있도록 노력해야겠고 각자의 객체가 책임, 역할, 협력할 수 있도록 개발한다면 조금 더 유지보수를 쉽게 할 수 있도록 설계 및 코딩이 가능하지 않을까 생각해본다.

개발서적을 읽은게 오랜만이긴하지만 지루하지는 않았던 것 같다.

앞으로도 종종 책을 읽고 관련된 내용을 블로그에 작성해봐야겠다.

아무래도 처음 독후감처럼 작성한 것이라 많이 미흡한부분이 많고 책을 오래 읽다보니.. 기억이 안나는 부분이 많지만 읽지 않는것보다는 도움이 되지 않을까 하는 자기 위로를 하며 글을 마칩니다.


JJ

황재정

백엔드 개발자로 일하고 있습니다.

Github